package org.example.carsystem.domain;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.example.carsystem.config.SexConverter;
import org.example.carsystem.config.StatusConverter;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

@Data
public class SysUser implements Serializable {
    /**用户ID*/
    @ExcelProperty("用户编号")
    private Long userId;
    /**部门ID*/
    @ExcelIgnore
    private Long deptId;
    /**部门名称*/
    @TableField(exist = false)
    @ExcelProperty("部门名称")
    private String deptName;
    /**用户账号*/
    @ExcelProperty("用户名称")
    private String userName;
    /**用户昵称*/
    @ExcelProperty("用户昵称")
    private String nickName;
    /**用户类型（00系统用户）*/
    @ExcelProperty(value = "用户类型",converter = SexConverter.class)
    private String userType;
    /**用户邮箱*/
    @ExcelProperty("电子邮件")
    private String email;
    /**手机号码*/
    @ExcelProperty("电话号码")
    private String phoneNumber;
    /** 用户性别（0男 1女 2未知）*/
    @ExcelProperty(value = "用户性别",converter = SexConverter.class)
    private String sex;
    /**头像地址*/
    @ExcelIgnore
    private String avatar;
    /**密码*/
    @ExcelProperty("用户密码")
    private String password;
    /**帐号状态（0正常 1停用）*/
    @ExcelProperty(value = "用户状态",converter = StatusConverter.class)
    private String status;
    /**删除标志（0代表存在 2代表删除）*/
    @ExcelIgnore
    private String delFlag;
    /**最后登录IP*/
    @ExcelIgnore
    private String loginIp;
    /**最后登录时间*/
    @ExcelIgnore
    private Date loginDate;
    /**创建者*/
    @ExcelIgnore
    private String createBy;
    /**创建时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty("创建时间")
    private Date createTime;
    /**更新者*/
    @ExcelIgnore
    private String updateBy;
    /**更新时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelIgnore
    private Date updateTime;
    /**备注*/
    @ExcelProperty("备注")
    private String remark;


}
